# 进阶3
"""
（1）编写场景游戏，实现人物创建、场景创建、过程设定及结果输出。
（2）通过Person类，定义人物，定义时，需包含姓名，性别，年龄和战斗力这四个属性。
（3）通过Person类，创建三个游戏人物的实例，相关数据如下：
    冰冰，女，18，初始战斗力1000
    木木，男，20，初始战斗力1800
    幂幂，女，19，初始战斗力2500
（4）在Person类里，通过方法的形式，定义如下的战斗动作：
    草丛战斗，消耗200战斗力
    自我修炼，增长100战斗力
    多人游戏，消耗500战斗力
（5）通过调用Person类的相关方法，实现并输出如下的动作
    冰冰参加一次多人游戏
    木木自我修炼了一次
    幂幂参加一次草丛战斗
    输出结果如下：
    冰冰，女，18，战斗力500
    木木，男，20，战斗力1900
    幂幂，女，19，战斗力2300
（6）程序实现效果如下所示：
    ——————游戏初始——————
    姓名: 冰冰; 性别: 女 ; 年龄: 18 ; 战斗力：1000
    姓名: 木木; 性别: 男 ; 年龄: 20 ; 战斗力：1800
    姓名: 幂幂; 性别: 女 ; 年龄: 19 ; 战斗力：2500
    ——————开始游戏——————
    姓名: 冰冰; 性别: 女 ; 年龄: 18 ; 战斗力：500
    姓名: 木木; 性别: 男 ; 年龄: 20 ; 战斗力：1900
    姓名: 幂幂; 性别: 女 ; 年龄: 19 ; 战斗力：2300
"""

class Person(object):
    def __init__(self, name, gender, age, capacity):
        self.name = name
        self.gender = gender
        self.age = age
        self.capacity = capacity

    def bush_fighting(self):
        self.capacity -= 200

    def self_learning(self):
        self.capacity += 100

    def multi_player(self):
        self.capacity -= 500


if __name__ == '__main__':
    print('——————游戏初始——————')
    bingbing = Person('冰冰', '女', 18, 1000)
    mumu = Person('木木', '男', 20, 1800)
    mingming = Person('幂幂', '女', 19, 2500)
    print('姓名: %s; 性别: %s; 年龄: %s: 战斗力: %s' % (bingbing.name, bingbing.gender, bingbing.age, bingbing.capacity))
    print('姓名: %s; 性别: %s; 年龄: %s: 战斗力: %s' % (mumu.name, mumu.gender, mumu.age, mumu.capacity))
    print('姓名: %s; 性别: %s; 年龄: %s: 战斗力: %s' % (mingming.name, mingming.gender, mingming.age, mingming.capacity))
    print('——————开始游戏——————')
    bingbing.multi_player()
    mumu.self_learning()
    mingming.bush_fighting()
    print('姓名: %s; 性别: %s; 年龄: %s: 战斗力: %s' % (bingbing.name, bingbing.gender, bingbing.age, bingbing.capacity))
    print('姓名: %s; 性别: %s; 年龄: %s: 战斗力: %s' % (mumu.name, mumu.gender, mumu.age, mumu.capacity))
    print('姓名: %s; 性别: %s; 年龄: %s: 战斗力: %s' % (mingming.name, mingming.gender, mingming.age, mingming.capacity))
